package com.renbang.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.renbang.model.common.Page;
/**
 * 
 * @description 共通dao接口所有dao只要继承这个接口就有了下面增删改查的dao方法
 * @author user
 * @date 2017年4月27日
 */
public interface BaseDao<T> {
	/*增加*/
	public int insert(T obj);
	/*修改*/
	public int update(T obj);
	/*根据多个id删除*/
	public int deleteByIds(@Param("list") List<String> list);
	/*根据id删除*/
	public int deleteById(Integer id);
	/*根据对象删除*/
	public int deleteByModel(@Param("record") T obj);
	/*分页查询*/
	public List<T> selectInPage(@Param("record") T obj, @Param("page") Page page);
	/*根据对象查询不分页*/
	public List<T> selectByModel(@Param("record") T obj);
	/*查询记录数*/
	public int  selectTotalRecord(@Param("record") T obj);
	/*根据id查询*/
	public T  selectById(Integer id);
	/*批量插入*/
	public int batchInsert(@Param("list") List<T> obj);
}
